import { z } from 'zod'

const UserDetailSchema = z.object({
  ad: z.unknown(),
  aff: z.number(),
  avatar: z.string().url().nullable(),
  background_img: z.string().url().nullable(),
  balance: z.number().nullable(),
  belong_aff: z.number().nullable(),
  bio: z.string().nullable(),
  birthday: z.string(),
  chat_token: z.string(),
  comment: z.number().nullable(),
  commission_limit: z.string().nullable(),
  commission_ratio: z.string().nullable(),
  cooperation_status: z.number().nullable(),
  cost: z.string().nullable(),
  creator_type: z.number().nullable(),
  email: z.string().email().nullable(),
  fans: z.number().nullable(),
  follow: z.number().nullable(),
  gender: z.number(),
  interested_in: z.string(),
  interested_type: z.string(),
  is_bind_email: z.boolean(),
  is_creator: z.boolean(),
  is_original_creator: z.number(),
  is_studios: z.number(),
  is_subscribe: z.boolean(),
  is_vip: z.boolean(),
  language_type: z.number(),
  language: z.number(),
  like: z.number().nullable(),
  link_instagram: z.string().nullable(),
  link_tiktok: z.string().nullable(),
  link_twitter: z.string().nullable(),
  link_vida: z.string().nullable(),
  nickname: z.string(),
  notice: z.string().nullable(),
  post: z.number().nullable(),
  push_button: z.boolean(),
  role_id: z.number(),
  share_url: z.string().url().nullable(),
  share: z.number().nullable(),
  subscribe_button: z.boolean(),
  subscribe_price: z.number().min(0.99).nullable(),
  subscribe: z.number().nullable(),
  token: z.string().optional(),
  unlock_all_time: z.string().nullable(),
  username: z.string(),
  uuid: z.string(),
  view: z.number().nullable(),
  vip_time: z.string().nullable(),
})

export default { UserDetailSchema }
